/* $Id:action_bonus.h $ */
/*
   Copyright (C) 2007 by Jurjen Stellingwerff <jurjen@stwerff.xs4all.nl>
   Part of the Moros Project http://moros.sourceforge.net/

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License version 3.
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY.

   See the COPYING file for more details.
*/

#ifndef __ACTION_BONUS_H
#define __ACTION_BONUS_H

#include <string>
#include <map>
#include <list>
using namespace std;



class action_bonus {
    int nr;
    int points;
    int type;
public:
    action_bonus();

    // Field : nr
    const int getNr() const;
    void setNr(const int v);
    int operator<(const class action_bonus &ck) const;

    // Field : points
    const int getPoints() const;
    void setPoints(const int v);

    // Field : type
    enum type_enum{type_less_energy,type_less_endurance,type_less_space_needed,type_less_time,type_extra_attack,type_extra_defense,type_extra_effect,type_double_range,type_group_size,type_extra_age,type_extra_meter,type_less_cutting,type_less_thrusting,type_less_blunt,type_less_damage,type_extra_item,type_extra_person,type_extra_day,type_permanency};
    const int getType() const;
    const string showType() const;
    void setType(const int v);
    void setType(const string v);

    void save(class channel &ch);
    void load(class channel &ch);
    void xml(ofstream &f, int l=0, int r=0);
};

#endif // __ACTION_BONUS_H
